package com.bocloud.cmp.driver.providers;

import com.bocloud.cmp.model.DbInstanceModel;
import com.bocloud.common.model.BsmResult;

/**
 * 数据库操作驱动
 * 
 * @author dmw
 *
 */
public interface DatabaseDriver extends Driver {

	/**
	 * 同步所有的数据库实例信息
	 * 
	 * @return
	 */
	public BsmResult listInstances();

	/**
	 * 创建数据库实例
	 * 
	 * @param instance
	 * @return
	 */
	public BsmResult createInstance(DbInstanceModel instance);

	/**
	 * 更新数据库配置信息
	 * 
	 * @param instance
	 * @return
	 */
	public BsmResult modifyInstance(DbInstanceModel instance);

	/**
	 * 删除数据库实例
	 * 
	 * @param instanceId
	 * @return
	 */
	public BsmResult removeInstance(String instanceId);

	/**
	 * 重启数据库实例
	 * 
	 * @param instanceId
	 * @return
	 */
	public BsmResult rebootInstance(String instanceId);

	/**
	 * 获取数据库实例详情
	 * 
	 * @param instanceId
	 * @return
	 */
	public BsmResult instanceDetail(String instanceId);
}
